linux如何查看端口

您所在的位置:网站首页 linux 如何查看端口 linux如何查看端口

linux如何查看端口

2023-04-14 04:07| 来源: 网络整理| 查看: 265

x使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询

netstat命令各个参数说明如下:

-t : 指明显示TCP端口

-u : 指明显示UDP端口

-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

-n : 不进行DNS轮询,显示IP(可以加速操作)

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp //查看当前所有tcp端口·

netstat -ntulp |grep 80 //查看所有80端口使用情况·

netstat -ntulp | grep 3306 //查看所有3306端口使用情况·

Linux查看程序端口占用情况

使用命令:

ps -aux | grep tomcat

发现并没有8080端口的Tomcat进程。

使用命令:netstat –apn

查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name

发现8080端口被PID为9658的Java进程占用。

进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

方法二:直接使用 netstat -anp | grep portno

即:netstat -anp|grep 8080

netstat -anp|grep 8080 --tcp0 0 0.0.0.0:80800.0.0.0:* LISTEN 28500/java

ps -aux | grep 28500 --r/local/tomcat9-jforum/tomcat

安装lsof list open files//---也可以 netstat -tunlp|grep 端口号 netstat -anp|grep 端口号

yum install lsof

lsof -i:8080 查看8080端口占用

lsof abc.txt 显示开启文件abc.txt的进程

lsof -c abc 显示abc进程现在打开的文件

lsof -c -p 1234 列出进程号为1234的进程所打开的文件

lsof -g gid 显示归属gid的进程情况

lsof +d /usr/local/ 显示目录下被进程开启的文件

lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长

lsof -d 4 显示使用fd为4的进程

lsof -i 用以显示符合条件的进程情况

lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

46 --IPv4 or IPv6

protocol --TCP or UDP

hostname --Internet host name

hostaddr --IPv4地址

service --/etc/service中的 service name (可以不止一个)

port --端口号 (可以不止一个)

lsof -i //显示所有打开的端口

lsof -i:80 //显示所有打开80端口的进程

lsof -i -U //显示所有打开的端口和UNIX domain文件

其实我一般这样用:

[root@VM_39_230_centos bin]# lsof -i:3306

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)

mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql-localhost:36582 (ESTABLISHED)

mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql-localhost:36584 (ESTABLISHED)

mysql

Linux如何查看端口

1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000

# lsof -i:8000

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

lwfs22065 root6u IPv4 4395053 0t0 TCP *:irdmi (LISTEN)

可以看到8000端口已经被轻量级文件系统转发服务lwfs占用

2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

# netstat -tunlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind

tcp0 0 0.0.0.0:59080.0.0.0:* LISTEN 25492/qemu-kvm

tcp0 0 0.0.0.0:69960.0.0.0:* LISTEN 22065/lwfs

tcp0 0 192.168.122.1:530.0.0.0:* LISTEN 38296/dnsmasq

tcp0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5278/sshd

tcp0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5013/cupsd

tcp0 0 127.0.0.1:250.0.0.0:* LISTEN 5962/master

tcp0 0 0.0.0.0:86660.0.0.0:* LISTEN 44868/lwfs

tcp0 0 0.0.0.0:80000.0.0.0:* LISTEN 22065/lwfs

# netstat -tunlp | grep 8000

tcp0 0 0.0.0.0:80000.0.0.0:* LISTEN 22065/lwfs

说明一下几个参数的含义:

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

附加一个python端口占用监测的程序,该程序可以监测指定IP的端口是否被占用。

1 #!/usr/bin/env python

2 # -*- coding:utf-8 -*-

3

4 import socket, time, thread

5 socket.setdefaulttimeout(3) #设置默认超时时间

6

7 def socket_port(ip, port):

8 """

9 输入IP和端口号,扫描判断端口是否占用

10 """

11 try:

12 if port =65535:

13 print u'端口扫描结束'

14 s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)

15 result=s.connect_ex((ip, port))

16 if result==0:

17 lock.acquire()

18 print ip,u':',port,u'端口已占用'

19 lock.release()

20 except:

21 print u'端口扫描异常'

22

23 def ip_scan(ip):

24 """

25 输入IP,扫描IP的0-65534端口情况

26 """

27 try:

28 print u'开始扫描 %s' % ip

29 start_time=time.time()

30 for i in range(0,65534):

31 thread.start_new_thread(socket_port,(ip, int(i)))

32 print u'扫描端口完成,总共用时:%.2f' %(time.time()-start_time)

33 # raw_input("Press Enter to Exit")

34 except:

35 print u'扫描ip出错'

36

37 if __name__=='__main__':

38 url=raw_input('Input the ip you want to scan: ')

39 lock=thread.allocate_lock()

40 ip_scan(url)

该程序执行结果如下:

# python scan_port.py

Input the ip you want to scan: 20.0.208.112

开始扫描 20.0.208.112

20.0.208.112 : 111 端口已占用

20.0.208.112 : 22 端口已占用

20.0.208.112 : 8000 端口已占用

20.0.208.112 : 15996 端口已占用

20.0.208.112 : 41734 端口已占用

扫描端口完成,总共用时:9.38

1.

打开任务管理器(在桌面最下面的“任务栏”右击鼠标)。

2.

在任务管理器界面中,选择“详细信息”。这时“PID”对应的一列即为自己电脑已开放的端口号,除此之外,我们还可以看到这个开放的端口所对应的程序。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/yw/7492592.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3